package com.wholesmart.service;

import java.util.List;
import java.util.Set;

import com.wholesmart.mapper.entity.User;

public interface UserService extends BaseService<User> {
	/**
	 * 通过用户名获取访问权限
	 * 
	 * @param username 用户名
	 * @return 用户可以访问的资源（url）列表
	 */
	Set<String> getAccessUrlsByUsername(String username);

	/**
	 * 通过用户名获取前端工程路径（vue前端工程模块路径）权限
	 * 
	 * @param username 用户名
	 * @return 用户可以访问的前端工程路径列表
	 */
	Set<String> getFrontRoutesByUsername(String username);

	/**
	 * 更具用户名修改用户状态
	 * 
	 * @param username 用户名
	 * @param status   用户状态：0（未激活），1（正常），2（锁定）
	 */
	void setUserStatusByUsername(String username, int status);

	/**
	 * 通过用户名获取用户信息
	 * 
	 * @param username 用户名
	 * @return User对象
	 */
	User getByUsername(String username);

	/**
	 * 根据部门ID获取部门成员
	 * 
	 * @param depertmentId
	 * @return
	 */
	List<User> getByDepertmentId(Long depertmentId);

	/**
	 * 根据部门ID列表获取部门成员
	 * 
	 * @param departmentIds
	 * @return
	 */
	List<User> getByDepertmentIds(List<Long> departmentIds);

}
